#pragma once

#include "Property/EditorPropertyModel.h"
#include "EditorComponentPropertyModel.m.h"

class RSceneNodeComponent;
class REditorReflectedPropertyModel;

RCLASS(ExtraHeader=["Scene/SceneNodeComponent.h","Property/ReflectedProperty/EditorReflectedPropertyModel.h"])
class REditorComponentPropertyModel : public REditorPropertyModel
{
    ROBJECT

public:

    static TSharedObjectPtr<REditorComponentPropertyModel> Create(
        TSharedObjectPtr<RSceneNodeComponent> InComponent,
        RObject* InParent
        );

    RFIELD()
    TSharedObjectPtr<RSceneNodeComponent> Component;


    RFIELD()
    TSharedObjectPtr<REditorReflectedPropertyModel> Properties;

    RFIELD()
    bool bIsExpanded = true;

};